Network processors often use parallel processes to achieve high performance when processing data units, e.g., packets or cells, from multiple streams of traffic. The data units to be processed may be related to each other, for example, data units associated with the same flow. If multiple processes need to access common data structures in memory, the benefits of parallelism can be lost as the processing of the data units instead occurs in a serialized manner. The serialized processing can cause memory latency efficiency and significant performance degradation.